Environmental Agroregions
Contents
Environmental Agroregions¶
The decision of cultivating agricultural crops is highly associated to the precipitation regime, temperature regime, and soil quality of the region. However, these varaibles typically exhibit different spatial patterns, creating different zones or sub-regions with unique properties and yield potential.
In this exercise we will use three layers of information to divide the state of Kansas into nine agroregions. The number of 9 regions was chosen arbitrarity, but it matches the current number of ecoregions for the state.
The selected variables are:
30-year annual cumulative thermal units: Growing degree days or thermal units are highly correlated with crop growth and development. To avoid accounting for winter and summer crops, we will use the annual sum of mean air temperature above zero degrees Celsius as indicator of the thermal regime across the state. Using cumulative thermal units will also enhance regional differences compared to using other varaibles such as annual mean temperature, which may result in small differences across regions. This variable exhibits a North-South gradient, with portions in the southerm part of the state exposed to higher temperatures, and therefore greater number of cumulative thermal units. Source layer: Parameter elevation Regression on Independent Slopes Model (PRISM)
30-year annual precipitation: Precipitation is arguably one of the most important factors conditioning vegetation growth. The state of Kansas exhibits a strong East-West gradient, with eastern portions of the state receiving about three times more precipitation per year (1200 mm per year) than regions in western Kansas (400 mm per year). Source layer: Parameter elevation Regression on Independent Slopes Model (PRISM)
1-km sand content at 5 cm depth: Soil fertility and soil water storage and major drivers of vegetation. Agricultural crops are often planted in rich, fertile soils. The percetnage of sand content in the top 5 cm is just a simple proxy variable to indicate contrasting soil types. This is also the most common sampling layer, which means that this gridded surface layer is probably more accurate than gridded products of at deeper soil layers. Generally speaking, sandy soils have low fertility and cannot hold water in teh pore space for very long, so unless there is supplemental irrigation, these soils would not be able to sustain high-yield crops. In the state of Kansas, sandy soils are typically located on top of shallow (e.g. Equus beds) or deep aquifers (Ogallala aquifer). Source: SoilGrids, International Soil Reference and Information Centre.
Both the temperature and precipitation regime are coarse regulators of potentially viable regions for agricultural crops, while soil type is a fine regulator.
This exercise will require the following modules typically not included in the Anaconda package:
Rasterio:
pip install rasterioXarray:
conda install xarray
from sklearn.cluster import KMeans
from sklearn.preprocessing import normalize
import numpy as np
import holoviews as hv
hv.extension('bokeh')
import xarray as xr
# Read geotiff layers
gdd = xr.open_rasterio('../datasets/clustering/gdd_30_years.tif')
precip = xr.open_rasterio('../datasets/clustering/precip_30_years.tif')
sand = xr.open_rasterio('../datasets/clustering/sand_0_5_cm.tif')
# Plot each layer to visualize spatial gradients
gdd_map = hv.Image( (gdd.x, gdd.y, gdd.values[0]) ).opts(title='Annual Thermal Units',
frame_width=200,
frame_height=200,
cmap='RdBu_r',
aspect='equal',
colorbar=True)
precip_map = hv.Image( (precip.x, precip.y, precip.values[0]) ).opts(title='Annual Precipitation (mm)',
frame_width=200,
frame_height=200,
cmap='YlGnBu',
aspect='equal',
colorbar=True)
sand_map = hv.Image( (sand.x, sand.y, sand.values[0]) ).opts(title='Percent Sand Content in 0-5 cm',
frame_width=200,
frame_height=200,
cmap='PuOr_r',
aspect='equal',
colorbar=True)
(gdd_map + precip_map + sand_map).opts(shared_axes=False).cols(3)